//
//  NSDate + Exstension.swift
//  微博时间
//
//  Created by 曹晓龙 on 15/11/4.
//  Copyright © 2015年 曹晓龙. All rights reserved.
//

import UIKit

extension NSDate{
    
    ///  将时间字符串转换成时间日期
    class func getDateWithString(str:String) ->NSDate? {
        
        let formatter = NSDateFormatter()
        
        formatter.locale = NSLocale(localeIdentifier: "en")
        
        formatter.dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy"
        
        return formatter.dateFromString(str)
    }
    
    /*
    刚刚(一分钟内)
    X分钟前(一小时内)
    X小时前(当天)
    昨天 HH:mm(昨天)
    MM-dd HH:mm(一年内)
    yyyy-MM-dd HH:mm(更早期)
    */
    var dateDescription:String?{

        let calendar = NSCalendar.currentCalendar()

        if calendar.isDateInToday(self){
            
            let detal = Int(NSDate().timeIntervalSinceDate(self))
            
            if detal < 60 {
                
                return "刚刚"
            }
            
            if detal < 60 * 60 {
                
                return "\(detal/60)分钟前"
            }
        
            
            
            return "\(detal/3600)小时前"
        }
        
        var ft = "HH:mm"
        if calendar.isDateInYesterday(self){
            
            return "昨天 " + ft
        }else{
            
            ft = "MM-dd " + ft
            
            if calendar.components(.Year, fromDate: self, toDate: NSDate(), options: []).year > 0{
                
                ft = "yyyy- " + ft
            }
        }
        
        let formatter = NSDateFormatter()
        
        formatter.locale = NSLocale(localeIdentifier: "en")
        
        formatter.dateFormat = ft
        
        return formatter.stringFromDate(self)
    }
}
